package com.ffcc.fitness.websocket.mapper;

import com.ffcc.fitness.websocket.pojo.Chat;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 聊天会话Mapper接口
 */
@Mapper
public interface ChatMapper {
    
    /**
     * 获取用户的会话列表
     */
    List<Chat> getUserSessions(@Param("userId") Long userId);
      /**
     * 查找会话
     */
    Chat findSession(@Param("user1Id") Long user1Id, @Param("user2Id") Long user2Id);
    
    /**
     * 更新会话最后消息信息
     */
    int updateLastMessage(@Param("sessionId") Long sessionId, 
                         @Param("messageId") Long messageId);
    
    /**
     * 增加未读数
     */
    int incrementUnread(@Param("sessionId") Long sessionId, @Param("userId") Long userId);
    
    /**
     * 清零未读数
     */
    int clearUnread(@Param("sessionId") Long sessionId, @Param("userId") Long userId);
    
    /**
     * 插入新会话
     */
    int insert(Chat chat);
}
